---
title: 代码格式
docs:
  - route: /docs/components/mark-toolbar-button
    title: 标记工具栏按钮
---

<ComponentPreview name="basic-marks-demo" />

<PackageInfo>

## 功能特性

- 格式化内联代码片段和技术术语
- 支持快捷键快速格式化
- 默认渲染为 `<code>` HTML 元素

</PackageInfo>

## 套件使用

<Steps>

### 安装

最快捷的方式是使用 `BasicMarksKit` 来添加代码插件，该套件包含预配置的 `CodePlugin` 以及其他基础标记及其 [Plate UI](/docs/installation/plate-ui) 组件。

<ComponentSource name="basic-marks-kit" />

- [`CodeLeaf`](/docs/components/code-node): 渲染内联代码元素

### 添加套件

将套件添加到你的插件中：

```tsx
import { createPlateEditor } from 'platejs/react';
import { BasicMarksKit } from '@/components/editor/plugins/basic-marks-kit';

const editor = createPlateEditor({
  plugins: [
    // ...其他插件
    ...BasicMarksKit,
  ],
});
```

</Steps>

## 手动配置

<Steps>

### 安装

```bash
npm install @platejs/basic-nodes
```

### 添加插件

在创建编辑器时，将 `CodePlugin` 包含到 Plate 插件数组中。

```tsx
import { CodePlugin } from '@platejs/basic-nodes/react';
import { createPlateEditor } from 'platejs/react';

const editor = createPlateEditor({
  plugins: [
    // ...其他插件
    CodePlugin,
  ],
});
```

### 配置插件

你可以为 `CodePlugin` 配置自定义组件和键盘快捷键。

```tsx
import { CodePlugin } from '@platejs/basic-nodes/react';
import { createPlateEditor } from 'platejs/react';
import { CodeLeaf } from '@/components/ui/code-node';

const editor = createPlateEditor({
  plugins: [
    // ...其他插件
    CodePlugin.configure({
      node: { component: CodeLeaf },
      shortcuts: { toggle: { keys: 'mod+e' } },
    }),
  ],
});
```

- `node.component`: 指定 [`CodeLeaf`](/docs/components/code-node) 来渲染内联代码元素
- `shortcuts.toggle`: 定义用于切换代码格式的键盘[快捷键](/docs/plugin-shortcuts)

### 添加工具栏按钮

你可以在[工具栏](/docs/toolbar)中添加 [`MarkToolbarButton`](/docs/components/mark-toolbar-button) 来切换代码格式。

</Steps>

## 插件

### `CodePlugin`

用于内联代码文本格式化的插件。默认渲染为 `<code>` HTML 元素。

## 转换操作

### `tf.code.toggle`

切换所选文本的代码格式。